<?php
App::uses('AppController', 'Controller');

class EditorasController extends AppController {

	public function beforeFilter(){
		parent::beforeFilter();
		if(!$this->admin()){
			throw new MethodNotAllowedException(__('Opção inválida'));
		}
	}

	public function lista() {
		$this->Editora->recursive = 0;
		$this->set('editoras', $this->paginate());
		$this->render('index');
	}


	public function info($id = null) {
		$this->Editora->id = $id;
		if (!$this->Editora->exists()) {
			throw new NotFoundException(__('Editora inválido'));
		}
		$this->loadModel('Assunto');
		$this->set('assuntos', $this->Assunto->find('list'));
		$this->set('cod_assuntos', $this->Assunto->find('list', array('fields'=> 'codigo_prefix')));
		$this->set('editora', $this->Editora->read(null, $id));
		$this->render('view');
	}

	public function novo() {
		if ($this->request->is('post')) {
			$this->Editora->create();
			if ($this->Editora->save($this->request->data)) {
				$this->Session->setFlash(__('Editora salvo com sucesso!'));
				$this->redirect(array('action' => 'lista'));
			} else {
				$this->Session->setFlash(__('Editora Não pode ser salvo. Por favor tente novamente'));
			}
		}
	$this->render('add');
	}

	public function editar($id = null) {
		$this->Editora->id = $id;
		if (!$this->Editora->exists()) {
			throw new NotFoundException(__('Editora inválido'));
		}
		if ($this->request->is('post') || $this->request->is('put')) {
			if ($this->Editora->save($this->request->data)) {
				$this->Session->setFlash(__('Editora foi salvo'));
				$this->redirect(array('action' => 'lista'));
			} else {
				$this->Session->setFlash(__('Editora não foi salvo. Por favor tente novamente.'));
			}
		} else {
			$this->request->data = $this->Editora->read(null, $id);
		}
	$this->render('edit');
	}

	public function apagar($id = null) {
		if (!$this->request->is('post')) {
			throw new MethodNotAllowedException();
		}
		$this->Editora->id = $id;
		if (!$this->Editora->exists()) {
			throw new NotFoundException(__('Editora inválido'));
		}
		if ($this->Editora->delete()) {
			$this->Session->setFlash(__('Editora excluído'));
			$this->redirect(array('action'=>'lista'));
		}
		$this->Session->setFlash(__('Editora não foi excluído'));
		$this->redirect(array('action' => 'lista'));
	}
}
